package easy.demo09;

/**
 * Created with IntelliJ IDEA.
 *
 * @Author: wfmiss
 * @Date: 2023/12/15/16:51
 * @Description:
 * 题目来源：力扣 https://leetcode.cn/problems/length-of-last-word/
 * 58. 最后一个单词的长度
 * 给你一个字符串 s，由若干单词组成，单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
 * 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
 */
public class Solution {
    public static void main(String[] args) {
        /**
         * 测试用例：
         * 示例 1：
         * 输入：s = "Hello World"
         * 输出：5
         * 解释：最后一个单词是“World”，长度为5。
         *
         * 示例 2：
         * 输入：s = "   fly me   to   the moon  "
         * 输出：4
         * 解释：最后一个单词是“moon”，长度为4。
         *
         * 示例 3：
         * 输入：s = "luffy is still joyboy"
         * 输出：6
         * 解释：最后一个单词是长度为6的“joyboy”。
         */
        System.out.println(lengthOfLastWord("a"));
    }

    public static int lengthOfLastWord(String s) {
        // 方法一：
        /*
            String[] split = s.split(" ");
            return split[split.length-1].length();
        */

        // 方法二：
        int sum=s.length()-1,count=0;
        while (sum>=0&&s.charAt(sum)==' '){
            sum--;
            count++;
        }
        while (sum>=0&&s.charAt(sum)!=' '){
                sum--;
        }

        return s.length()-1-sum-count;
    }

}
